home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / prog / asmclock.arj / README.TXT < prev    next >
Text File  |  1994-04-13  |  6KB  |  138 lines

  1.  
  2.  
  3.         README for the MASM 6.0 Demonstration Program ASMCLOCK.ASM
  4.  
  5.  
  6. ASMCLOCK is a direct translation of the sample program DIGCLOCK in Chapter 5
  7. of Charles Petzold's "Programming Windows".
  8.  
  9. The purpose of this demonstration program was not to show how much better
  10. assembler programming is than C for this particular application, rather to
  11. show that Windows programming is now POSSIBLE with MASM 6.0.  Because of the
  12. new high-level and not-so high-level features in MASM 6.0, this sample
  13. application was actually a very straight-forward to develop.
  14.  
  15. Files in this demonstration are:
  16.  
  17.     o README.TXT       This file
  18.     o ASMCLOCK.ASM     Application source code
  19.     o ASMCLOCK.MAK     NMAKE file for this application
  20.     o ASMCLOCK.DEF     Linker DEF file
  21.     o ASMCLOCK.OBJ     Result of assembling ASMCLOCK.ASM
  22.     o ASMCLOCK.EXE     Application executable
  23.     o WINDOWS.INC      Converted WINDOWS.H
  24.     o STDIO.INC        Converted from STDIO.H by H2INC
  25.     o TIME.INC         Converted from TIME.H by H2INC
  26.     o PROLOGUE.INC     Prologue/Epilogue sequences
  27.  
  28. NOTE: In order to actually build this application you must have the Windows
  29.       SDK v3.0 and MASM 6.0.
  30.  
  31.  
  32. Items of Interest
  33. -----------------
  34.  
  35. If you build the application, the first interesting item you will notice
  36. is the new command-line program to run the assembler.  Previous releases
  37. used MASM.EXE.  Keeping with the rest of the Microsoft family of languages,
  38. this new release uses ML.EXE (akin to CL and FL).  For those of you who
  39. have MAKE files that are dependent upon MASM.EXE, we have included a
  40. MASM.EXE utility that converts the old command-line arguments to the new
  41. and then invokes ML.EXE.
  42.  
  43. ASMCLOCK.ASM demonstrates many of the new features available with MASM 6.0.
  44. Moving from the top of the files ASMCLOCK.ASM and moving down through the
  45. source, some of the items of interest are:
  46.  
  47.     o STDIO.INC and TIME.INC were directly converted from their C counterparts
  48.       (STDIO.H and TIME.H) using the new utility in MASM 6.0, H2INC.  H2INC
  49.       converts the C header files to their MASM include file equivalent.
  50.       H2INC takes advantage of the new features available in MASM 6.0, so the
  51.       resulting .INC file can only be used with MASM 6.0.
  52.  
  53.     o PROTOTYPES.  Prototypes are new to MASM 6.0.  The have the same purpose
  54.       as prototypes in other high-level languages.  Having prototypes allows
  55.       MASM to check on the calling convention, distance, number and types
  56.       of arguments being used in PROC's and in INVOKE's (more on that in a
  57.       bit).
  58.  
  59.     o New data initializers.  Instead of DB's and DW's we now have BYTE
  60.       (unsigned), SBYTE (signed), WORD, SWORD, REAL4, REAL8, etc. etc.
  61.  
  62.     o In the PROC statement for WinMain, the type of the hInstance parameter
  63.       is HANDLE.  MASM 6.0 has the new directive TYPEDEF to let programmer's
  64.       define their own types (HANDLE and LPSTR are defined in WINDOWS.INC).
  65.  
  66.     o .IF (hPrevInstance == 0).  MASM 6.0 has provided high-level programming
  67.       constructs.  The whole family includes .IF/.ELSEIF/.ELSE/.ENDIF,
  68.       .WHILE/.ENDW, .REPEAT/.UNTIL/.UNTILCXZ, and .BREAK and .CONTINUE.
  69.  
  70.     o INVOKE.  The counterpart to PROTO is INVOKE.  This is an intelligent
  71.       CALL.  The arguments are pushed on to the stack according to the
  72.       procedure's calling convention (and cleaned up if necessary).
  73.       Programming for Windows is API function call based, so calling pre-set
  74.       system functions is a large percentage of Windows programming, this
  75.       feature alone makes Windows programming possible.
  76.  
  77. These are some of the "cooler" new features in MASM 6.0, there are also
  78. some other less visible changes that make MASM 6.0 an even more powerful
  79. assembler.  An example of this is the ability to ASSUME registers to items
  80. other than segments in this example BX gets ASSUME'd to a pointer to a
  81. structure.
  82.  
  83. MASM 6.0 made this Windows demonstration possible.  The high-level features
  84. in the assembler make the code easier to write and understand.  Basically,
  85. MASM 6.0 makes it easier to make your programmer's faster.
  86.  
  87. Thanks,
  88. B.
  89.  
  90.          ----------------end-of-author's-documentation---------------
  91.  
  92.                          Software Library Information:
  93.  
  94.                     This disk copy provided as a service of
  95.  
  96.                            Public (software) Library
  97.  
  98.          We are not the authors of this program, nor are we associated
  99.          with the author in any way other than as a distributor of the
  100.          program in accordance with the author's terms of distribution.
  101.  
  102.          Please direct shareware payments and specific questions about
  103.          this program to the author of the program, whose name appears
  104.          elsewhere in  this documentation. If you have trouble getting
  105.          in touch with the author,  we will do whatever we can to help
  106.          you with your questions. All programs have been tested and do
  107.          run.  To report problems,  please use the form that is in the
  108.          file PROBLEM.DOC on many of our disks or in other written for-
  109.          mat with screen printouts, if possible.  PsL cannot debug pro-
  110.          programs over the telephone, though we can answer questions.
  111.  
  112.          Disks in the PsL are updated  monthly,  so if you did not get
  113.          this disk directly from the PsL, you should be aware that the
  114.          files in this set may no longer be the current versions. Also,
  115.          if you got this disk from another vendor and are having prob-
  116.          lems,  be aware that  some files may have become corrupted or
  117.          lost by that vendor. Get a current, working disk from PsL.
  118.  
  119.          For a copy of the latest monthly software library newsletter
  120.          and a list of the 3,000+ disks in the library, call or write
  121.  
  122.                            Public (software) Library
  123.                                P.O.Box 35705 - F
  124.                             Houston, TX 77235-5705
  125.  
  126.                                  Orders only:
  127.                                 1-800-2424-PSL
  128.                               MC/Visa/AmEx/Discover
  129.  
  130.                           Outside of U.S. or in Texas
  131.                           or for general information,
  132.                               Call 1-713-524-6394
  133.  
  134.                           PsL also has an outstanding
  135.                           catalog for the Macintosh.
  136.  
  137.  
  138.